using SumerCoreDevOps.Shared.Models.Messages;

namespace SumerCoreDevOps.ExecuteNodeApi.Handlers;

/// <summary>
/// 步骤处理器接口
/// </summary>
public interface IStepHandler
{
    Task<StepExecutionResult> ExecuteAsync(WorkflowStepDispatchMessage message);
}

/// <summary>
/// 步骤执行结果
/// </summary>
public class StepExecutionResult
{
    public bool Success { get; set; }
    public int Progress { get; set; }
    public string? ErrorMessage { get; set; }
    public Dictionary<string, string> OutputContext { get; set; } = [];
}
